home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / c / restracklib_0_2.lha / ResTrackLib / restrack_lib.doc < prev    next >
Text File  |  1994-07-31  |  3KB  |  63 lines

  1.  
  2.            Resource Tracking Library V0.1
  3.  
  4.          (C) 1994, Aaron "Optimizer" Digulla
  5.  
  6.  
  7.  OVERVIEW
  8.  --------
  9.  
  10. One of the major advantages of the Amiga is that the OS does not track
  11. resources. This is one of the main reasons that the OS is so fast and small
  12. (the other is that many parts have been written in assembler).
  13.  
  14.     While this is great for the user (he needs only few RAM and small
  15. harddisks), the situation is quite different for programmers. While the
  16. user has no need nor intention to make mistakes that may crash the machine
  17. (he is guided by a more or less bug-free software that does not allow him
  18. to do dangerous things like calling functions with wrong arguments), this
  19. is exactly what the developer does. So for developing software, resource
  20. tracking is a must be.
  21.  
  22.     Several tools were and are lurking around which allow to track and/or
  23. protect resources (like Enforcer, Mungwall, SnoopDos and DosTrace), there
  24. is none that work likes the OS under UNIX which frees all allocated
  25. resources after the program exited or crashed. And this is where RTL comes
  26. into play.
  27.  
  28.     The resource tracking library (RTL) is a link library with the following
  29. features:
  30.  
  31.     - Resource tracking only for the program you are developing right now
  32.       and only where you need it. This saves as much speed and resources
  33.       as possible.
  34.     - You can check the currently used resources at any time.
  35.     - Not only the creation and disposal of resources is checked but also
  36.       the usage. If you, for example, lock a file and the duplicate the
  37.       lock, the argument to DupLock() is checked and the return value
  38.       of DupLock is tracked, too.
  39.     - Gives a list of all still allocated resources at the end of the
  40.       program.
  41.     - All messages come show the file and line where the resource was
  42.       allocated or a function was called with illegal parameters.
  43.     - Source is included :-)
  44.  
  45. For a list of all currently tracked resources, have a look into restack.h.
  46.  
  47. For debugging, RTL offers the following functions:
  48.  
  49.     StartResourceTracking - Begin resource tracking for a specified list of
  50.         resources (no need to track when we know it works).
  51.     SetResourceTracking - Change the tracked resources.
  52.     PrintTrackedResources - Print a list of all known resources.
  53.     SetResourceTrackingLevel - Temporarily disable/enable all resource
  54.         tracking.
  55.     IncResourceTrackingLevel/DecResourceTrackingLevel - Same as
  56.         SetResourceTrackingLevel, but can be nested
  57.     EndResourceTracking - Stop resource tracking and free everything that's
  58.         still allocated.
  59.  
  60. Aaron "Optimizer" Digulla
  61. digulla@fh-konstanz.de
  62.  
  63.